package com.ruoyi.wb.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * 维保合同对象 wb_contract
 *
 * @author ruoyi
 * @date 2024-10-14
 */
@Data
@ApiModel(value = "WbContract", description = "维保合同实体")
public class WbContract extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 主键 id */
    @ApiModelProperty(value = "主键 id")
    private Long id;

    /** 合同编号 */
    @Excel(name = "合同编号")
    @ApiModelProperty(value = "合同编号")
    private String code;

    /** 合同名 */
    @Excel(name = "合同名")
    @ApiModelProperty(value = "合同名")
    private String name;

    /** 客户 id */
    @Excel(name = "客户 id")
    @ApiModelProperty(value = "客户 id")
    private Long clientId;

    /** 客户名 */
    @Excel(name = "客户名")
    @ApiModelProperty(value = "客户名")
    private String clientName;

    /** 维保公司 id */
    @Excel(name = "维保公司 id")
    @ApiModelProperty(value = "维保公司 id")
    private Long wbCompanyId;

    /** 维保公司名称 */
    @Excel(name = "维保公司名称")
    @ApiModelProperty(value = "维保公司名称")
    private String wbCompayName;

    /** 合同有效期开始 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "合同有效期开始", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "合同有效期开始")
    private Date contractValidityStart;

    /** 合同有效期结束 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "合同有效期结束", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "合同有效期结束")
    private Date contractValidityEnd;


    /** 项目维保有效期开始 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "项目维保有效期开始", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "项目维保有效期开始")
    private Date itemMaintenanceValidityStart;

    /** 项目维保有效期结束 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "项目维保有效期结束", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "项目维保有效期结束")
    private Date itemMaintenanceValidityEnd;

    /** 合同文件 */
    @Excel(name = "合同文件")
    @ApiModelProperty(value = "合同文件")
    private String contractFile;

    /** 录入单位 id */
    @Excel(name = "录入单位 id")
    @ApiModelProperty(value = "录入单位 id")
    private Long enterBusiness;

    /** 录入单位 */
    @Excel(name = "录入单位")
    @ApiModelProperty(value = "录入单位")
    private String businessName;

    /** 状态(1 有效，2 即将过期，3 过期，4 未生效，5 终止) */
    @Excel(name = "状态(1 有效，2 即将过期，3 过期，4 未生效，5 终止)")
    @ApiModelProperty(value = "状态(1 有效，2 即将过期，3 过期，4 未生效，5 终止)")
    private Long status;

    /** 删除状态(1 存在，2 删除) */
    @ApiModelProperty(value = "删除状态(1 存在，2 删除)")
    private Long delFlag;


    //以下搜索字段
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;
}